﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

#pragma once

#include "RpcSharedObject.h"
#include "OwnerPtr.h"

namespace gcmp
{
    //构件编辑器埋点所需用户信息
    class GM_INPLACE_EDIT_EXPORT UserDataSharedContent : public RpcSharedObject
    {
        DBOBJECT_DATA_BEGIN(gcmp, UserDataSharedContent, gcmp::RpcSharedObject, 1EA29080 - FC5D - 4F89 - 9113 - AF7B13C8505E, gminplaceedit)
            DATA(std::wstring, GlobalId)
            DATA(std::wstring, UserId)
            DATA(std::wstring, DeviceId)
            DATA(std::wstring, CloudTextureLibToken)
            DATA(std::wstring, CloudTextureLibId)
            DATA(std::wstring, CloudTextureLibProductCode)
        DBOBJECT_DATA_END

    public:
        const std::wstring& GetGlobalId() const { return this->GetGlobalId__(); }
        bool SetGlobalId(const std::wstring& globalId) { this->SetGlobalId__(globalId); return true; }

        const std::wstring& GetUserId() const { return this->GetUserId__(); }
        bool SetUserId(const std::wstring& userId) { this->SetUserId__(userId); return true; }

        const std::wstring& GetDeviceId() const { return this->GetDeviceId__(); }
        bool SetDeviceId(const std::wstring& deviceId) { this->SetDeviceId__(deviceId); return true; }

        const std::wstring& GetCloudTextureLibToken() const { return this->GetCloudTextureLibToken__(); }
        bool SetCloudTextureLibToken(const std::wstring& cloudTextureLibToken) { this->SetCloudTextureLibToken__(cloudTextureLibToken); return true; }

        const std::wstring& GetCloudTextureLibId() const { return this->GetCloudTextureLibId__(); }
        bool SetCloudTextureLibId(const std::wstring& cloudTextureLibId) { this->SetCloudTextureLibId__(cloudTextureLibId); return true; }

        const std::wstring& GetCloudTextureLibProductCode() const { return this->GetCloudTextureLibProductCode__(); }
        bool SetCloudTextureLibProductCode(const std::wstring& cloudTextureLibProductCode) { this->SetCloudTextureLibProductCode__(cloudTextureLibProductCode); return true; }
    };
}